作者:讲述华哥传奇的生活_616 | 来源:互联网 | 2024-10-20 12:46
嗨,我正在解决一些C ++问题,我对这种语言不熟悉。
我正在尝试使用以下语法初始化std :: pair,double>:
std::pair,double> output = { {},0.0f };
在Ubuntu 16.04上的gcc 5.4.0生成此错误:
no known conversion for argument 1 from ‘std::pair,double>’ to ‘std::initializer_list
如果使用以下语法,则会发生相同的错误:
std::pair,double> output{{},0.0f };
出了什么问题?
您正在使用扩展的初始化程序列表(std::initializer_list),该列表自C ++ 11起可用。
对于gcc 5.4.0编译器,您需要使用C ++ 11标志对其进行编译:
ignoreNULL
https://gcc.godbolt.org/z/SHzREE